Modern computing often utilizes web-based applications for processing and storing data online. Such computing enables users to use a program, such as a web browser to access programs across the internet or access and store data across the internet in a process not visible to the end user. Many web applications utilize JavaScript for programming. JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. JavaScript has commonly been implemented as part of a web browser in order to provide enhanced user interfaces and dynamic websites. This enables programmatic access to computational objects within a host environment. JavaScript has also been used to host or work with other applications such as PDF documents, site specific browsers, and desktop widgets.
One drawback of JavaScript is that even though it may support object oriented programming styles; it does not inherently include the functionality to implement numerous important features of traditional object-oriented programming languages. Specifically, JavaScript does not conventionally include programming techniques, such as multiple inheritance, messaging, and polymorphism.